package priv.pattern.builder;

import priv.pattern.builder.service.Food;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/*
 * 作者：m鹏h
 * 时间；2024/6/1 17:14
 * 描述： 创建一个套餐类
 **/
public class Meal {
    private List<Food> mealList = new ArrayList<>();

    /*
     * 往套餐中添加食物
     * @author M鹏H
     * date 2024/6/1
     **/
    public void setMealList(Food food) {
        mealList.add(food);
    }

    /*
     * 计算该套餐的一个价格总和
     * @author M鹏H
     * date 2024/6/1
     **/
    public Double computeCost() {
        //将集合中的所有价格相加 *0.8 因为套餐会相对来说便宜一点
        double v = mealList.stream().mapToDouble(Food::price).sum() * 0.8;
        //保留一位小数
        double roundedCost = Math.round(v * 10.0) / 10.0;
        return roundedCost;
    }

    /*
     * 套餐信息的方法
     * @author M鹏H
     * date 2024/6/1
     **/
    public void mealInfo() {
        HashMap<String, Double> map = new HashMap<>();
        mealList.forEach(food -> {
            map.put(food.name(), food.price());
        });
        for (String name : map.keySet()) {
            System.out.println(name + "    价格: " + map.get(name));
        }

    }


}
